package com.xuelang.pipeline.domain.msg.service;


import com.xuelang.pipeline.client.common.result.PageRecord;
import com.xuelang.pipeline.client.msg.UserMessageDTO;
import com.xuelang.pipeline.client.msg.UserMessageQueryDTO;
import com.xuelang.pipeline.client.msg.UserMessageReadMsgDTO;
import com.xuelang.pipeline.client.msg.UserMessageSaveDTO;

import java.util.List;

/**
 * 用户消息相关接口
 */
public interface MsgUserMessagesDomainService {


    /**
     * 查询某个用户拥有的消息
     *
     * @param userMessageQueryDTO
     * @return
     */
    PageRecord<UserMessageDTO> findUserMessagePageList(UserMessageQueryDTO userMessageQueryDTO);

    /**
     * 保存消息并分配到对应的用户
     *
     * @param messageSaveDTO
     * @return
     */
    UserMessageSaveDTO saveMessage(UserMessageSaveDTO messageSaveDTO);


    /**
     * 标记用户已读消息接口
     *
     * @param readMsgDTO
     * @return
     */
    List<UserMessageDTO> userTagsReadMessages(UserMessageReadMsgDTO readMsgDTO);

}
